package myjava.a_string;

/**
 * @Auther: cty
 * @Date: 2019/11/4 11:41
 * @Description: 测试字符串存储和比较
 * @version: 1.0
 */
public class B_TestString {
    public static void main(String[] args) {
        //字符串类型不可变
        String str0 = "aaabbb";
        String str1 = str0.substring(2,5);
        System.out.println(str0);
        System.out.println(str1);

        System.out.println("############################");

        //编译器做了优化，直接在编译的时候将字符串进行拼接
        String str2 = "hello" + " java";
        String str3 = "hello java";
        System.out.println(str2==str3);  //true

        //编译器编译的时候不知道变量中存储的是什么，所以变量拼接没办法优化
        String str4 = "hello";
        String str5 = " java";
        String str6 = str4 + str5;
        System.out.println(str3==str6);  //false

        //“==”是判断两个目标是否为同一个对象，若判断字符串内容是否相等最好用“equals”
        System.out.println(str3.equals(str6));  //true
    }
}
